home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
System Booster
/
System Booster.iso
/
Commodities
/
NewShell
/
NewShellCX.doc
< prev
next >
Wrap
Text File
|
1996-09-26
|
10KB
|
237 lines
NewShellCX
(Commodity)
by
Stefan Sticht
This program (binary), sourcecode, documentation is
PUBLIC DOMAIN.
You may do anything with it!
Purpose of this commodity:
--------------------------
NewShellCX allows you to open a new shell by just pressing a hotkey.
The hotkey and the command, which will be executed can be specified.
Requirements:
-------------
This commodity requires at least Kickstart 37.#? and Workbench 37.#?.
Please check this out using Version in the Shell or About from the
Workbench's Workbench menu. You also need to have the
commodities.library in your libs: directory.
How to start a commodity:
-------------------------
First there are two basically different ways to start a commodity:
via Workbench or via Shell.
Starting it via Workbench is extrem simple: just doubleclick on
its icon and the commodity gets started. Perhaps you might change
some parameters of the commodity. You do this with tool types. Tool
types can be changed by clicking at the commodities icon and selecting
Information from the Workbench's Icon menu. In the window which opens
you see a listview gadget in which all tool types are listed. Please
refer to your Workbench documentation on how to change this tool
types. Which parameters you can change for this specific commodity is
described below.
Please note that another double click on the commodity's icon
forces the commodity to quit, if it's already running. Running two
copies of NewShellCX at the same time isn't useful and therefore
possible.
To start a commodity via shell you type in its name. If you get
an "Unknown command ???" error message, you have misspelled the
commodity's name or the commodity isn't in your current directory or
in the current search path. The easiest way is to change your current
directory to the location of the commodity using the CD command. You
can change parameters of a commodity by command line options. The
available options are listed with ? as the first parameter:
NewShellCX ?
gives you a list of the command line options. The explanation of each
option is below. Starting the commodity once more while it is already
running forces the commodity to quit.
If you want the commodity to be started at every boot-up, it's
best to add this line to your User-Startup file:
Run >NIL: <path>NewShellCX <options>
Don't forget to replace <path> by the path to the commodities's
location and <options> by the options you want to change. For example
add this line if your commodity is located in the Tools drawer of your
boot disk:
Run >NIL: Tools/NewShellCX
Another way to start the commodity at every boot-up is to drag its
icon in the WBStartup drawer of your boot disk. Then the commodity
gets started as if you had double clicked on its icon. But you have
to add the tool type DONOTWAIT to the icon.
This is the common way to start any commodity. Starting NewShellCX to
spawn a new shell is bit more complicated. If you start NewShellCX
from Workbench (or from the WBStartup-drawer), a opened shell will not
inherit the path specified in the startup-sequence and/or
User-Startup. If you do not want to update your path in the
Shell-Startup file using an explicit Path command, the only solution
is to start NewShellCX in your User-Startup file after setting the
path. If do not change the path in your User-Startup file, you may
start NewShellCX anywhere in User-Startup.
Using Exchange:
---------------
Exchange is the commodities controller program. With Exchange you can
control all commodities: you can kill, disable, enable, show and hide
commodities.
Start the Exchange program, which usually is in the Utilities
drawer of your boot disk, by double clicking its icon. Now you see a
list of the available commodities. Select the commodity you want to
control. The commodities title, description and status is shown now
below the listview gadget.
You can kill the commodity using the Kill gadget... If the
commodity has a window to open, in which you usually change some
parameters, you can open this window using Show. Hide closes this
window. NewShellCX has no window, which can be opened.
Changeable parameters:
----------------------
CX_Priority:
------------
You can specify the priority of the Commodity within the commodities
queue using the tool type or commandline option CX_PRIORITY=<number>,
where <number> is the decimal value for the priority. Default
priority is 0.
HOTKEY:
-------
With the tool type or commandline option HOTKEY=<string> you specify
the key, which executes the command. <string> is an input description
string as explained below. Default is "HOTKEY=lcommand esc" (left
Amiga key & ESC key).
Examples:
NewShellCX "hotkey=ralt help"
NewShellCX "hotkey=lcommand m"
NewShellCX "hotkey=f1"
COMMAND:
--------
With the tool type or commandline option COMMAND=<file> you specify
the command, which you want to be executed. <file> is the path and
name of the command plus additional parameters, just as if you'd type
this line at a shell. Default is COMMAND=NewShell, which spans a new
shell.
Examples:
NewShellCX "Command=NewShell CON:0/0/640/200/MyShell/CLOSE FROM s:Shell-Startup"
NewShellCX "Command=c:NewWSH"
NewShellCX "Command=Tools:ClickDOS_II"
PUBLICSCREEN:
-------------
With the option PUBLICSCREEN=<string> you can specify the name of a
public screen, which will be switched to front if you press the
hotkey. E.g. "PUBLICSCREEN=Workbench" pops the Workbench screen to
front. "PUBLICSCREEN=DEFAULT" puts the default public screen to
front. "PUBLICSCREEN=" (default) disables this option.
MOVEABSOLUTE:
-------------
With the next to options MOVEX and MOVEY you can secify a horizontal
and a vertical value. MOVEABSOLTE determines, if these values should
be interpreted as relative or absolute values. MOVEABSOLUTE=YES means,
the values are absolute and the upper lefthand corner of the screen
specified with PUBLICSCREEN should be moved to the position specified
by the values. MOVEABSOLUTE=NO means the values should be interpreted
as values relative to the current position of the screen.
MOVEX:
------
With MOVEX=<number> you specify the horizontal position, to which the
screen should be moved depending on MOVEABSOLUTE. <number> should be
a decimal value.
MOVEY:
------
With MOVEY=<number> you specify the vertikal position, analogous to
MOVEX.
Input description strings
-------------------------
With input description strings you can specify almost any input
action, for example the action lshift f1, which means that pressing
the left shift and the f1 key together is the action. In this
commodity you can specify the action to open the commodity's window,
as described above.
Input description strings have the following template:
[class] (([-]qual)|syn)* [[-]upstroke] [highmap|ANSIcode]
(* means zero or more occurances of the of the expression in brackets)
class is one of the following strings:
rawkey, rawmouse, event, pointerpos, timer, newprefs,
diskremoved, diskinserted.
If not specified, the class is taken to be "rawkey".
qual is one of the strings:
lshift, rshift, capslock, control, lalt, ralt, lcommand,
rcommand, numericpad, repeat, midbutton, rbutton, leftbutton,
relativemouse
A preceding '-' means that the value of the corresponding
qualifier is to be considered irrelevant.
syn (synonym) is one of the strings: shift, caps, alt
shift means "left or right shift"
caps means "shift or capslock"
alt means "either alt key"
upstroke (literally "upstroke")
if this token is absent, only downstrokes are considered
for rawmouse (mousebuttons) and rawkey events. If it is
present alone, only upstrokes count. If it preceded by
'-' it means that both up and down strokes are included.
highmap one of the strings:
comma, space, backspace, tab, enter, return, esc, del, up,
down, right, left, help, f1, f2, f3, f4, f5, f6, f7, f8, f9,
f10, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, (, ), /, *, -, +
ansicode a single character token is interpreted as a character code,
which is looked up in the system default keymap.
Send bug-reports, enhancement-requests, questions, gifts(!) to:
---------------------------------------------------------------
Stefan Sticht
Bibereckerweg 40a
D-8390 Passau 18
FRG
or (better) EMail to:
cbmvax.commodore.com!cbmehq!cbmger!danube!edith!sticht [prefered!]
or sticht%edith@danube.deg.sub.org
or sticht@eva.uni-passau.de
or IWSTICHT@ibm.rz.uni-passau.de
Fido-Net: Stefan Sticht (2:242/77:4)
Please include the version number of the commodity in every bug report.
You get the version number using the Version command:
Version [<path>]<commodity>